package com.ruoyi.back.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单详情对象 order_detail
 * 
 * @author luguanqing
 * @date 2021-04-21
 */
@ApiModel("订单详情实体")
public class OrderDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    @ApiModelProperty(value = "主键id")
    private String id;

    /** 订购用户id */
    @ApiModelProperty(value = "订购用户id")
    @Excel(name = "订购用户id")
    private String spId;

    /** 订购课程id */
    @ApiModelProperty(value = "订购课程id")
    @Excel(name = "订购课程id")
    private String courseId;

    /** 订购用户名称 */
    @ApiModelProperty(value = "订购用户名称")
    @Excel(name = "订购用户名称")
    private String spName;

    /** 订单编号 */
    @ApiModelProperty(value = "订单编号")
    @Excel(name = "订单编号")
    private String orderNo;

    /** 订单名称 */
    @ApiModelProperty(value = "订单名称")
    @Excel(name = "订单名称")
    private String subject;

    /** 订购时间 */
    @ApiModelProperty(value = "订购时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订购时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderTime;

    /** 支付时间 */
    @ApiModelProperty(value = "支付时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 支付金额 */
    @ApiModelProperty(value = "支付金额")
    @Excel(name = "支付金额")
    private String orderMoney;

    /** 原价 */
    @ApiModelProperty(value = "原价")
    @Excel(name = "原价")
    private String totalMoney;

    /** 支付方式 */
    @ApiModelProperty(value = "支付方式")
    @Excel(name = "支付方式")
    private String paymentWay;

    /** 订单状态 */
    @ApiModelProperty(value = "订单状态")
    @Excel(name = "订单状态")
    private String orderStatus;

    /** 备注 */
    @ApiModelProperty(value = "备注")
    @Excel(name = "备注")
    private String note;

    /** 是否需要发票 */
    @ApiModelProperty(value = "是否需要发票")
    @Excel(name = "是否需要发票")
    private String isInvoice;

    /** 订单到期日期 */
    @ApiModelProperty(value = "订单到期日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单到期日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderEndTime;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setSpId(String spId) 
    {
        this.spId = spId;
    }

    public String getSpId() 
    {
        return spId;
    }
    public void setCourseId(String courseId)
    {
        this.courseId = courseId;
    }

    public String getCourseId()
    {
        return courseId;
    }
    public void setSpName(String spName) 
    {
        this.spName = spName;
    }

    public String getSpName() 
    {
        return spName;
    }
    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }
    public void setOrderTime(Date orderTime) 
    {
        this.orderTime = orderTime;
    }

    public Date getOrderTime() 
    {
        return orderTime;
    }
    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }
    public void setOrderMoney(String orderMoney)
    {
        this.orderMoney = orderMoney;
    }

    public String getOrderMoney()
    {
        return orderMoney;
    }
    public void setTotalMoney(String totalMoney)
    {
        this.totalMoney = totalMoney;
    }

    public String getTotalMoney()
    {
        return totalMoney;
    }
    public void setPaymentWay(String paymentWay) 
    {
        this.paymentWay = paymentWay;
    }

    public String getPaymentWay() 
    {
        return paymentWay;
    }
    public void setOrderStatus(String orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus() 
    {
        return orderStatus;
    }
    public void setNote(String note) 
    {
        this.note = note;
    }

    public String getNote() 
    {
        return note;
    }
    public void setIsInvoice(String isInvoice) 
    {
        this.isInvoice = isInvoice;
    }

    public String getIsInvoice() 
    {
        return isInvoice;
    }
    public void setOrderEndTime(Date orderEndTime) 
    {
        this.orderEndTime = orderEndTime;
    }

    public Date getOrderEndTime() 
    {
        return orderEndTime;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("spId", getSpId())
            .append("courseId", getCourseId())
            .append("spName", getSpName())
            .append("orderNo", getOrderNo())
            .append("orderTime", getOrderTime())
            .append("payTime", getPayTime())
            .append("orderMoney", getOrderMoney())
            .append("totalMoney", getTotalMoney())
            .append("paymentWay", getPaymentWay())
            .append("orderStatus", getOrderStatus())
            .append("note", getNote())
            .append("isInvoice", getIsInvoice())
            .append("orderEndTime", getOrderEndTime())
            .append("subject", getSubject())
            .toString();
    }
}
